﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
 
namespace MVCFrame
{
    public interface IWebLister
    {
        Task ListenAsync(Uri address);
        Task<HttpContext> ReceiveAsync();
    }

    public interface IControllerActivator
    {
        Task<Controller> CreateControllerAsync(HttpContext httpContext);
        Task ReleaseAsync(Controller controller);
    }

    public interface IControllerExecutor
    {
        Task<View> ExecuteAsync(Controller controller, HttpContext httpContext);
    }

    public interface IViewRender
    {
        Task RendAsync(View view, HttpContext httpContext);
    }
}
